/**
 * 作者: wgx
 * 日期: 2025-02-17 17:50:13
 * 备注: 怪兽洞窟配置表
 */
package com.motu.monstercity.server.game.commondata.cave;

import io.vertx.core.json.JsonObject;

public class CaveMainModel {
    protected int id; // 洞窟层位ID (560001--569999)
    protected int areaType; // 洞窟区域序号
    protected int floorId; // 区域内层号
    protected int floorType; // 层类型
    protected int secondReward; // 每秒获得的奖励数，玩家手动领取，领取奖励=累积时间的秒数*此字段配置值
    protected int earnSpeedAddition; // 商铺加成（1W倍）
    protected long monsterPower; // 守层怪兽战力
    protected String monsterId; // 守层怪兽ID组
    protected String onceReward; // 首次达层奖励 (主角等级)

    public CaveMainModel() {
    }

    public CaveMainModel(JsonObject obj) {
        id = obj.containsKey("id") ? obj.getInteger("id") : 0;
        areaType = obj.containsKey("area_type") ? obj.getInteger("area_type") : 0;
        floorId = obj.containsKey("floor_id") ? obj.getInteger("floor_id") : 0;
        floorType = obj.containsKey("floor_type") ? obj.getInteger("floor_type") : 0;
        secondReward = obj.containsKey("second_reward") ? obj.getInteger("second_reward") : 0;
        earnSpeedAddition = obj.containsKey("earn_speed_addition") ? obj.getInteger("earn_speed_addition") : 0;
        monsterPower = obj.containsKey("monster_power") ? obj.getLong("monster_power") : 0;
        monsterId = obj.containsKey("monster_id") ? obj.getString("monster_id") : "";
        onceReward = obj.containsKey("once_reward") ? obj.getString("once_reward") : "";
    }

    public int getId() {
        return id;
    }

    public int getAreaType() {
        return areaType;
    }

    public int getFloorId() {
        return floorId;
    }

    public int getFloorType() {
        return floorType;
    }

    public int getSecondReward() {
        return secondReward;
    }

    public int getEarnSpeedAddition() {
        return earnSpeedAddition;
    }

    public long getMonsterPower() {
        return monsterPower;
    }

    public String getMonsterId() {
        return monsterId;
    }

    public String getOnceReward() {
        return onceReward;
    }

}
